百度数据仓库 Palo for Apache Doris 全新发布2.0内核版本
更新时间:2024-07-26
百度数据仓库 Palo for Apache Doris (以下简称 PALO)2.0 内核版已正式发布基于 2.0 内核的 LTS 版本,自 2023 年 9 月起在百度内部数十条业务线进行内测,并于 2024 年 6 月发布正式版本。为客户全新提供更稳定、功能更强,服务更优质的数据分析平台。 PALO 在 2.0 版本数据更新和写入效率更加高效稳定 ,日志分析和数据湖联邦分析场景能力得到全面强化,支持更完善的多租户和资源隔离机制,并增加了一系列面向企业用户的易用性特性。
性能更强,查询能力更丰富
- PALO 2.0 版本在标准 Benchmark 数据集上盲测查询性能提升超过 10 倍,具备更智能的全新查询优化器 ,TPC-DS 10T 规模 20 分钟可轻松通过。
- 引入了全新的行列混合存储以及行级 Cache及其他优化,点查询并发能力提升 20 倍 ,单点并发达到 30000QPS。可以替代一些 使 用Hbase和Redis的场景,使得业务架构更为简单。
- 新增 支持Pipeline执行模型,能够更充分利用CPU资源,更省资源。
- PALO 2.0 版本支持了 array/json/struct/map/variant 等复杂数据类型类型,提供了非结构化数据分析能力,以更好满足半结构化数据的分析需求,降低业务的复杂性。
应用场景拓展
-
PALO 2.0 版本极大优化了湖仓联邦查询场景的性能
- 通过 Multi-Catalog 支持几乎市面上所有数据源(Hive、Hudi、Iceberg、Elasticsearch、Trino、ClickHouse 等数十种数据源),可以跨数据源零成本实现联邦分析。
- 支持更高性能的 NativeReader,在湖仓查询场景中,相比 Hive、Presto、Spark 等查询引擎实现3-5性能提升。
-
日志场景支持,在特定日志检索场景中实现5-10 倍的提升
- 支持了原生的半结构化数据,在已有的 JSON、Array 基础之上增加了复杂类型 Map,并基于 Light Schema Change 功能实现了 Schema Evolution。
- 通过倒排索引优化和高性能文本分析算法,结合 2.0 版本 在数据读写性能、数据导入方式等能力的增强,在 日志检索场景中有 5-10 倍的提升。
云原生
-
冷热数据分层,大大降低存储成本
- 用户建表时可以配置转冷策略,到期后冷数据自动从云磁盘存储下沉到低成本的对象存储 BOS 上。该功能支持分区级或表级配置,存储成本最高降低 70 %。
-
提供更加完善的多租户资源隔离能力
- PALO 1.2 版本支持用户通过 BE 节点的 Tag 配置,实现节点级资源隔离,但在实际业务场景中可能会存在某些资源组紧张而某些资源组空闲的情况发生,还需要在建表时为每个表建立资源组 Tag 的绑定关系,操作非常复杂;需要有更加灵活的方式进行租户建资源隔离策略。PALO 2.0 版本新增工作组 (Work Group) 为每个 group 上配置单个 BE 能够使用资源(CPU,内存) 实现 BE 节点内的软隔离。
- 当集群资源紧张时,将自动 Kill 组内占用内存最大的若干个查询任务以减缓集群压力。当集群资源空闲时,一旦 Workload Group 使用资源超过预设值时,多个 Workload 将共享集群可用空闲资源并自动突破阈值,继续使用系统内存以保证查询任务的稳定执行。Workload Group 还支持设置优先级,通过预先设置的优先级进行资源分配管理,来确定哪些任务可正常获得资源,哪些任务只能获取少量或没有资源。
- 当业务负载超过系统可承载上限时,继续提交新的查询不仅无法有效执行,还会对运行中的查询造成影响。为避免该问题出现,Workload Group 支持查询排队功能。当查询达到预设的最大并发时,新提交计划会进入排队逻辑,当队列已满或等待超时,查询会被拒绝,以此来缓解高负载下系统的压力。
容灾备份
- PALO 2.0 版本提供了跨集群复制(Cross-Cluster Replication,CCR)能力,可以在库/表级别将源集群的数据变更近实时同步到目标集群,并可根据场景精细控制同步范围;用户也可以根据需求灵活选择全量或者增量同步,有效提升了数据同步的灵活性和效率。